#include <iostream>
using namespace std;

class CRAFT
{
    protected:
        double speed;
    public:
        CRAFT(double s):speed(s){cout<<"创建航行器(速度: "<<speed<<")\n";}
        virtual ~CRAFT(){cout<<"销毁航行器(速度: "<<speed<<")\n";}
        virtual void Show() const{cout<<"航行(速度: "<<speed<<")\n";}
};

class PLANE:virtual public CRAFT
{
    protected:
        double width;
    public:
        PLANE(double s,double w):CRAFT(s),width(w){cout<<"创建飞机(翼展: "<<width<<")\n";}
        ~PLANE(){cout<<"销毁飞机(翼展: "<<width<<")\n";}
        void Show() const{cout<<"航行(速度: "<<speed<<", 翼展: "<<width<<")\n";}
};

class SHIP:virtual public CRAFT
{
    protected:
        double depth;
    public:
        SHIP(double s,double d):CRAFT(s),depth(d){cout<<"创建船(吃水: "<<depth<<")\n";}
        ~SHIP(){cout<<"销毁船(吃水: "<<depth<<")\n";}
        void Show() const{cout<<"航行(速度: "<<speed<<", 吃水: "<<depth<<")\n";}    
};

class SEAPLANE:public PLANE,public SHIP
{
    public:
        SEAPLANE(double s,double w,double d):CRAFT(s),PLANE(s,w),SHIP(s,d){cout<<"创建水上飞机\n";}
        ~SEAPLANE(){cout<<"销毁水上飞机\n";}
        void Show() const{cout<<"航行(速度: "<<speed<<", 翼展: "<<width<<", 吃水: "<<depth<<")\n";}
};

int main()
{
    CRAFT *p;
    double s, w, d;
    cin >> s >> w >> d;
    p = new SEAPLANE(s, w, d);
    p->Show();
    delete p;
    return 0;
}